Date : 24/07/94
Protection : MOT DE PASSE
Programme : DDAY
Outils : SOFT-ICE V2.64 avec EMS
Fichier : DDAY.EXE
Temps pass� : 20 minutes
Soci�t� : LORICIEL
Origine : Slave
Divers : Comprim� par LZEXE
Num�ro : 249
Le patch de LOCKSMITH ne fonctionnant pas je m'y suis mis.
Le test du code se fait ci-dessous. Trois r�ponses sont demand�es.
Si les trois r�ponses sont bonnes on trouve 0 dans [BP-4] sinon on
y trouve le nombre de mauvaise r�ponses:
034B 80 7E FC 00 cmp byte ptr [bp-4],0
034F 74 3B je loc_1
0351 B0 00 mov al,0
0353 50 push ax
0354 A0 DEA6 mov al,ds:data_9e
0357 B4 00 mov ah,0
0359 D1 E0 shl ax,1
035B D1 E0 shl ax,1
035D 8B D8 mov bx,ax
035F FF B7 4138 push word ptr ds:data_4e[bx]
0363 FF B7 4136 push word ptr ds:data_3e[bx]
0367 A0 DEA6 mov al,ds:data_9e
036A B4 00 mov ah,0
036C D1 E0 shl ax,1
036E D1 E0 shl ax,1
0370 8B D8 mov bx,ax
0372 FF B7 4130 push word ptr ds:data_2e[bx]
0376 FF B7 412E push word ptr ds:data_1e[bx]
037A 9A 0C29:1049 ;* call far ptr sub_4
037F 83 C4 0A add sp,0Ah
0383 B0 00 mov al,0
0384 50 push ax
0385 9A 032B:01C6 ;* call far ptr sub_1
CE CALL FAR AFFICHE "MAUVAIS MOT DE PASSE" et le premier saut en amont
qui l'�vite pour sauter en LOC_1 se trouve en CS:034F. En for�ant ce saut
cel� ne fonctionne qu'� moiti�. Il est n�cessaire de mettre la bonne
valeur dans BP-4 soit 0.
038A 44 inc sp
038B 44 inc sp
038C 8A 46 FC LOC_1: mov al,[bp-4]
038F EB 00 jmp short $+2 ; delay for I/O
0391 8B E5 mov sp,bp
0393 5D pop bp
0394 CB retf
Solution:
Remplacer les deux instructions suivantes:
034B 80 7E FC 00 cmp byte ptr [bp-4],0
034F 74 3B je loc_1
par:
034B C6 46 FC 00 mov byte ptr [bp-4],0
034F EB 3B jmp loc_1
Freddy
|